+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
*2(x, 0) -> 0
*2(x, s1(y)) -> +2(*2(x, y), x)
ge2(x, 0) -> true
ge2(0, s1(y)) -> false
ge2(s1(x), s1(y)) -> ge2(x, y)
-2(x, 0) -> x
-2(s1(x), s1(y)) -> -2(x, y)
fact1(x) -> iffact2(x, ge2(x, s1(s1(0))))
iffact2(x, true) -> *2(x, fact1(-2(x, s1(0))))
iffact2(x, false) -> s1(0)
↳ QTRS
↳ Non-Overlap Check
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
*2(x, 0) -> 0
*2(x, s1(y)) -> +2(*2(x, y), x)
ge2(x, 0) -> true
ge2(0, s1(y)) -> false
ge2(s1(x), s1(y)) -> ge2(x, y)
-2(x, 0) -> x
-2(s1(x), s1(y)) -> -2(x, y)
fact1(x) -> iffact2(x, ge2(x, s1(s1(0))))
iffact2(x, true) -> *2(x, fact1(-2(x, s1(0))))
iffact2(x, false) -> s1(0)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
*2(x, 0) -> 0
*2(x, s1(y)) -> +2(*2(x, y), x)
ge2(x, 0) -> true
ge2(0, s1(y)) -> false
ge2(s1(x), s1(y)) -> ge2(x, y)
-2(x, 0) -> x
-2(s1(x), s1(y)) -> -2(x, y)
fact1(x) -> iffact2(x, ge2(x, s1(s1(0))))
iffact2(x, true) -> *2(x, fact1(-2(x, s1(0))))
iffact2(x, false) -> s1(0)
+2(x0, 0)
+2(x0, s1(x1))
*2(x0, 0)
*2(x0, s1(x1))
ge2(x0, 0)
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
-2(x0, 0)
-2(s1(x0), s1(x1))
fact1(x0)
iffact2(x0, true)
iffact2(x0, false)
IFFACT2(x, true) -> *12(x, fact1(-2(x, s1(0))))
*12(x, s1(y)) -> +12(*2(x, y), x)
+12(x, s1(y)) -> +12(x, y)
*12(x, s1(y)) -> *12(x, y)
FACT1(x) -> IFFACT2(x, ge2(x, s1(s1(0))))
-12(s1(x), s1(y)) -> -12(x, y)
IFFACT2(x, true) -> FACT1(-2(x, s1(0)))
IFFACT2(x, true) -> -12(x, s1(0))
FACT1(x) -> GE2(x, s1(s1(0)))
GE2(s1(x), s1(y)) -> GE2(x, y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
*2(x, 0) -> 0
*2(x, s1(y)) -> +2(*2(x, y), x)
ge2(x, 0) -> true
ge2(0, s1(y)) -> false
ge2(s1(x), s1(y)) -> ge2(x, y)
-2(x, 0) -> x
-2(s1(x), s1(y)) -> -2(x, y)
fact1(x) -> iffact2(x, ge2(x, s1(s1(0))))
iffact2(x, true) -> *2(x, fact1(-2(x, s1(0))))
iffact2(x, false) -> s1(0)
+2(x0, 0)
+2(x0, s1(x1))
*2(x0, 0)
*2(x0, s1(x1))
ge2(x0, 0)
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
-2(x0, 0)
-2(s1(x0), s1(x1))
fact1(x0)
iffact2(x0, true)
iffact2(x0, false)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
IFFACT2(x, true) -> *12(x, fact1(-2(x, s1(0))))
*12(x, s1(y)) -> +12(*2(x, y), x)
+12(x, s1(y)) -> +12(x, y)
*12(x, s1(y)) -> *12(x, y)
FACT1(x) -> IFFACT2(x, ge2(x, s1(s1(0))))
-12(s1(x), s1(y)) -> -12(x, y)
IFFACT2(x, true) -> FACT1(-2(x, s1(0)))
IFFACT2(x, true) -> -12(x, s1(0))
FACT1(x) -> GE2(x, s1(s1(0)))
GE2(s1(x), s1(y)) -> GE2(x, y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
*2(x, 0) -> 0
*2(x, s1(y)) -> +2(*2(x, y), x)
ge2(x, 0) -> true
ge2(0, s1(y)) -> false
ge2(s1(x), s1(y)) -> ge2(x, y)
-2(x, 0) -> x
-2(s1(x), s1(y)) -> -2(x, y)
fact1(x) -> iffact2(x, ge2(x, s1(s1(0))))
iffact2(x, true) -> *2(x, fact1(-2(x, s1(0))))
iffact2(x, false) -> s1(0)
+2(x0, 0)
+2(x0, s1(x1))
*2(x0, 0)
*2(x0, s1(x1))
ge2(x0, 0)
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
-2(x0, 0)
-2(s1(x0), s1(x1))
fact1(x0)
iffact2(x0, true)
iffact2(x0, false)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
-12(s1(x), s1(y)) -> -12(x, y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
*2(x, 0) -> 0
*2(x, s1(y)) -> +2(*2(x, y), x)
ge2(x, 0) -> true
ge2(0, s1(y)) -> false
ge2(s1(x), s1(y)) -> ge2(x, y)
-2(x, 0) -> x
-2(s1(x), s1(y)) -> -2(x, y)
fact1(x) -> iffact2(x, ge2(x, s1(s1(0))))
iffact2(x, true) -> *2(x, fact1(-2(x, s1(0))))
iffact2(x, false) -> s1(0)
+2(x0, 0)
+2(x0, s1(x1))
*2(x0, 0)
*2(x0, s1(x1))
ge2(x0, 0)
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
-2(x0, 0)
-2(s1(x0), s1(x1))
fact1(x0)
iffact2(x0, true)
iffact2(x0, false)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
-12(s1(x), s1(y)) -> -12(x, y)
trivial
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
*2(x, 0) -> 0
*2(x, s1(y)) -> +2(*2(x, y), x)
ge2(x, 0) -> true
ge2(0, s1(y)) -> false
ge2(s1(x), s1(y)) -> ge2(x, y)
-2(x, 0) -> x
-2(s1(x), s1(y)) -> -2(x, y)
fact1(x) -> iffact2(x, ge2(x, s1(s1(0))))
iffact2(x, true) -> *2(x, fact1(-2(x, s1(0))))
iffact2(x, false) -> s1(0)
+2(x0, 0)
+2(x0, s1(x1))
*2(x0, 0)
*2(x0, s1(x1))
ge2(x0, 0)
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
-2(x0, 0)
-2(s1(x0), s1(x1))
fact1(x0)
iffact2(x0, true)
iffact2(x0, false)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
GE2(s1(x), s1(y)) -> GE2(x, y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
*2(x, 0) -> 0
*2(x, s1(y)) -> +2(*2(x, y), x)
ge2(x, 0) -> true
ge2(0, s1(y)) -> false
ge2(s1(x), s1(y)) -> ge2(x, y)
-2(x, 0) -> x
-2(s1(x), s1(y)) -> -2(x, y)
fact1(x) -> iffact2(x, ge2(x, s1(s1(0))))
iffact2(x, true) -> *2(x, fact1(-2(x, s1(0))))
iffact2(x, false) -> s1(0)
+2(x0, 0)
+2(x0, s1(x1))
*2(x0, 0)
*2(x0, s1(x1))
ge2(x0, 0)
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
-2(x0, 0)
-2(s1(x0), s1(x1))
fact1(x0)
iffact2(x0, true)
iffact2(x0, false)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
GE2(s1(x), s1(y)) -> GE2(x, y)
trivial
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
*2(x, 0) -> 0
*2(x, s1(y)) -> +2(*2(x, y), x)
ge2(x, 0) -> true
ge2(0, s1(y)) -> false
ge2(s1(x), s1(y)) -> ge2(x, y)
-2(x, 0) -> x
-2(s1(x), s1(y)) -> -2(x, y)
fact1(x) -> iffact2(x, ge2(x, s1(s1(0))))
iffact2(x, true) -> *2(x, fact1(-2(x, s1(0))))
iffact2(x, false) -> s1(0)
+2(x0, 0)
+2(x0, s1(x1))
*2(x0, 0)
*2(x0, s1(x1))
ge2(x0, 0)
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
-2(x0, 0)
-2(s1(x0), s1(x1))
fact1(x0)
iffact2(x0, true)
iffact2(x0, false)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
+12(x, s1(y)) -> +12(x, y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
*2(x, 0) -> 0
*2(x, s1(y)) -> +2(*2(x, y), x)
ge2(x, 0) -> true
ge2(0, s1(y)) -> false
ge2(s1(x), s1(y)) -> ge2(x, y)
-2(x, 0) -> x
-2(s1(x), s1(y)) -> -2(x, y)
fact1(x) -> iffact2(x, ge2(x, s1(s1(0))))
iffact2(x, true) -> *2(x, fact1(-2(x, s1(0))))
iffact2(x, false) -> s1(0)
+2(x0, 0)
+2(x0, s1(x1))
*2(x0, 0)
*2(x0, s1(x1))
ge2(x0, 0)
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
-2(x0, 0)
-2(s1(x0), s1(x1))
fact1(x0)
iffact2(x0, true)
iffact2(x0, false)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
+12(x, s1(y)) -> +12(x, y)
[+^11, s1]
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
*2(x, 0) -> 0
*2(x, s1(y)) -> +2(*2(x, y), x)
ge2(x, 0) -> true
ge2(0, s1(y)) -> false
ge2(s1(x), s1(y)) -> ge2(x, y)
-2(x, 0) -> x
-2(s1(x), s1(y)) -> -2(x, y)
fact1(x) -> iffact2(x, ge2(x, s1(s1(0))))
iffact2(x, true) -> *2(x, fact1(-2(x, s1(0))))
iffact2(x, false) -> s1(0)
+2(x0, 0)
+2(x0, s1(x1))
*2(x0, 0)
*2(x0, s1(x1))
ge2(x0, 0)
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
-2(x0, 0)
-2(s1(x0), s1(x1))
fact1(x0)
iffact2(x0, true)
iffact2(x0, false)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
*12(x, s1(y)) -> *12(x, y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
*2(x, 0) -> 0
*2(x, s1(y)) -> +2(*2(x, y), x)
ge2(x, 0) -> true
ge2(0, s1(y)) -> false
ge2(s1(x), s1(y)) -> ge2(x, y)
-2(x, 0) -> x
-2(s1(x), s1(y)) -> -2(x, y)
fact1(x) -> iffact2(x, ge2(x, s1(s1(0))))
iffact2(x, true) -> *2(x, fact1(-2(x, s1(0))))
iffact2(x, false) -> s1(0)
+2(x0, 0)
+2(x0, s1(x1))
*2(x0, 0)
*2(x0, s1(x1))
ge2(x0, 0)
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
-2(x0, 0)
-2(s1(x0), s1(x1))
fact1(x0)
iffact2(x0, true)
iffact2(x0, false)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
*12(x, s1(y)) -> *12(x, y)
[*^11, s1]
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
*2(x, 0) -> 0
*2(x, s1(y)) -> +2(*2(x, y), x)
ge2(x, 0) -> true
ge2(0, s1(y)) -> false
ge2(s1(x), s1(y)) -> ge2(x, y)
-2(x, 0) -> x
-2(s1(x), s1(y)) -> -2(x, y)
fact1(x) -> iffact2(x, ge2(x, s1(s1(0))))
iffact2(x, true) -> *2(x, fact1(-2(x, s1(0))))
iffact2(x, false) -> s1(0)
+2(x0, 0)
+2(x0, s1(x1))
*2(x0, 0)
*2(x0, s1(x1))
ge2(x0, 0)
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
-2(x0, 0)
-2(s1(x0), s1(x1))
fact1(x0)
iffact2(x0, true)
iffact2(x0, false)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
FACT1(x) -> IFFACT2(x, ge2(x, s1(s1(0))))
IFFACT2(x, true) -> FACT1(-2(x, s1(0)))
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
*2(x, 0) -> 0
*2(x, s1(y)) -> +2(*2(x, y), x)
ge2(x, 0) -> true
ge2(0, s1(y)) -> false
ge2(s1(x), s1(y)) -> ge2(x, y)
-2(x, 0) -> x
-2(s1(x), s1(y)) -> -2(x, y)
fact1(x) -> iffact2(x, ge2(x, s1(s1(0))))
iffact2(x, true) -> *2(x, fact1(-2(x, s1(0))))
iffact2(x, false) -> s1(0)
+2(x0, 0)
+2(x0, s1(x1))
*2(x0, 0)
*2(x0, s1(x1))
ge2(x0, 0)
ge2(0, s1(x0))
ge2(s1(x0), s1(x1))
-2(x0, 0)
-2(s1(x0), s1(x1))
fact1(x0)
iffact2(x0, true)
iffact2(x0, false)